/**
* \file Capsule.h
* \brief Prototypes des methodes de la classe Capsule
* \author FEKI Mehdi && RIPOCHE Emilien
* \version 1.0
* \date 04/12/2011
*/

#pragma once

#include "Vaisseau.h"

/**
 * \class Classe Capsule
 * \brief Classe concrete representant une capsule
 *		  Elle derive de la classe Vaisseau
 */
class __declspec( dllexport ) Capsule : public Vaisseau {
	// METHODES
	public :

		/* ----- CONSTRUCTEURS ----- */
	
		/**
		* \fn Capsule()
		* \brief Constructeur de la classe Capsule
		*/
		Capsule();

		/**
		* \fn Capsule(int posX, int posY)
		* \brief Constructeur de la classe Capsule
		* \param posX Position initiale du vaisseau sur l'axe des abscisses
		* \param posY Position initiale du vaisseau sur l'axe des ordonnees
		*/
		Capsule(int posX, int posY);

	
		/* ----- METHODES ----- */
	
		/**
		 * \fn virtual bool tirer()
		 * \brief Effectue un tir
		 * \return true si le tir a pu etre effectue, false sinon
		 */
		virtual bool tirer();

		/**
		 * \fn virtual bool charger()
		 * \brief Effectue un chargement d'energie
		 * \return true si le chargement a pu etre effectue, false sinon
		 */
		virtual bool charger();

		/**
		 * \fn virtual typeVaisseau type() const
		 * \brief Permet de recuperer le type du vaisseau
		 * \return Le type du vaisseau
		 */
		virtual TypeVaisseau type() const;
}; 